package com.naiterui.ehp.bs.recommend.bean.mongo;

import java.io.Serializable;
import java.util.Date;

import org.springframework.data.annotation.Id;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

/**
 * 患者复购提醒
 */
@JsonIgnoreProperties(ignoreUnknown = true)
public class PatientRebuyNotice implements Serializable {

    private static final long serialVersionUID = 2363500031225296241L;

    /**
     * 通知类型-用药周期3天前
     */
    public static final int NOTICE_TYPE_BEFOR_TREE_DAY = 0;
    /**
     * 通知类型-用药周期14天后
     */
    public static final int NOTICE_TYPE_LATER_FOURTEEN_DAY = 1;
    /**
     * 主键
     */
    @Id
    private String id;
    /**
     * 患者id
     */
    private Long patientId;
    /**
     * 医生id
     */
    private Long doctorId;

    /** 主订单ID */
    private Long baseOrderId;
    /**
     * 推荐用药的标识
     */
    private Long recommendId;

    /** skuid */
    private Long skuId;

    /**
     * 提醒日期（8位年月日）
     */
    private String noticeTime;

    /**
     * 执行状态(0:待发送；1：已发送)
     */
    private Integer status;
    /**
     * 通知类型(0:用药周期前3天；1：用药周期后14天)
     */
    private Integer noticeType;
    /** 创建时间 */
    private Date createdAt;
    /** 创建人 */
    private String createdBy;
    /** 修改时间 */
    private Date changedAt;
    /** 修改人 */
    private String changedBy;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public Long getPatientId() {
        return patientId;
    }

    public void setPatientId(Long patientId) {
        this.patientId = patientId;
    }

    public Long getDoctorId() {
        return doctorId;
    }

    public void setDoctorId(Long doctorId) {
        this.doctorId = doctorId;
    }

    public Long getRecommendId() {
        return recommendId;
    }

    public void setRecommendId(Long recommendId) {
        this.recommendId = recommendId;
    }

    public String getNoticeTime() {
        return noticeTime;
    }

    public void setNoticeTime(String noticeTime) {
        this.noticeTime = noticeTime;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Date getChangedAt() {
        return changedAt;
    }

    public void setChangedAt(Date changedAt) {
        this.changedAt = changedAt;
    }

    public String getChangedBy() {
        return changedBy;
    }

    public void setChangedBy(String changedBy) {
        this.changedBy = changedBy;
    }

    public Long getBaseOrderId() {
        return baseOrderId;
    }

    public void setBaseOrderId(Long baseOrderId) {
        this.baseOrderId = baseOrderId;
    }

    public Long getSkuId() {
        return skuId;
    }

    public void setSkuId(Long skuId) {
        this.skuId = skuId;
    }

    public Integer getNoticeType() {
        return noticeType;
    }

    public void setNoticeType(Integer noticeType) {
        this.noticeType = noticeType;
    }
}
